This invention relates generally to telecommunications systems, and more particularly to software and telephone systems that may be used to allow for telephone operations to be performed using personal computers.
Telephone systems have been previously developed for use with personal computers. Existing systems, however, are often difficult to use and contain only a limited number of features that users may desire. Such systems do not normally provide robust interfaces to other communications devices such as systems for electronic mail, voice mail, video, facsimile, etc. Many existing systems also are designed for a particular type of computer and may not be easily converted for use on different types of computers. Similarly, the software for many existing systems is difficult to modify to add additional features.
For example, software systems have been provided that display computerized versions of the telephone keys available to the user of the actual telephone. These software systems seek to replicate the telephone interface in order to capitalize on a user""s familiarity with that interface. These systems do not take advantage of the flexibility possible in a purely graphical user interface.
In addition, prior systems have not fully capitalized on the ability to identify incoming calls and the ability to build and use a database of information about called and calling parties. While prior art systems have provided some automated directory services, they have not provided the full range of database processing with the flexibility of a graphical user interface.
Therefore, a need has arisen for a software telephone system that provides for database directory service and incoming call identification as well as presenting the user with a fully functional telephone system using a flexible graphical user interface.
According to one embodiment of the present invention, a telecommunications system is provided that is constructed using a client server architecture. Client processes reside on personal computers available to each user of the system. These personal computers are connected to one another and to a server computer through a local area network. The server computer is connected to a private branch exchange (PBX) which is, in turn, connected to desktop telephone units available to each user. An application program compatible with a typical windowed environment runs on each personal computer to provide each user with a graphical user interface through which each user may receive and place calls and use other telephone functions. In addition, each client computer may access the server computer, as necessary, to access the PBX or to access database information stored in or managed by the server computer. The server computer itself may comprise another personal computer or a larger computer actually storing the information or the server may act as a gateway to information stored on other platforms.
The novel architecture of the present invention allows for a wide variety of telecommunications services to be provided to each user through a highly flexible and efficient graphical user interface. For example, according to one aspect of the present invention, the local time and location of a calling party of a telephone call is displayed for the benefit of a user of the system. In order to accomplish this feature, the system captures automatic number identification (ANI) or Caller ID or DNIS information data for the telephone call. In addition, the system may capture information input by the calling party. This information might be input by the calling party in response to an Interactive Voice Response system. At least a portion of the ANI or Caller ID data may then be used to access database information to determine the place of origin and the local time of the calling party. The local time and place may then be displayed to the user of the system.
This information allows a user to more efficiently communicate with the other party to the call. The present invention may also allow the city and state from which a caller is calling to be displayed to a user of the system. This again allows for more efficient communication between the parties.
According to another embodiment of the present invention, the amount of time a call has been on hold may also be displayed for each telephone call currently in progress with a particular user. Because the hold time may be displayed for each call separately, the user may readily determine how long each party has been on hold and may, for example, handle calls in order from the longest to the shortest time on hold. Because a hold timer is maintained for each call to a user, an employer of the user may log hold timer data for use in monitoring the employee""s performance in answering and processing calls in an expeditious manner.